#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QColorDialog>

namespace Ui {
    class MainWindow;
}

class GLDisplay;

class MainWindow : public QMainWindow
{
    Q_OBJECT

    QColorDialog colorDialog;

signals:
    void wireframeClicked(bool);
    void saveResultAsImage();
    void lightRotationToggle(bool);
    void changeObjectSelected(QString);
    void toggleShader(bool);
    void scaleFactorChanged(int);
    void colorChanged(QColor);
    void textureChanged(QString);
    void insertObjectCliked(QString);
    void updateRender();
    void deletePressed();

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
    void setGLDisplay(GLDisplay *);

protected:
    virtual void keyPressEvent(QKeyEvent *key);

private:
    Ui::MainWindow *ui;

public slots:
    void toggleCheckbox(bool);
    void openColorDialog();
    void changeScaleSliderValue(int);
    void openTextureFileDialog();
    void getObjectChosen();


};

#endif // MAINWINDOW_H
